package com.kang.c0c.parser;

/**
 * Token是一个javaBean,它封装了语法分析器所需要的由词法分析器识别源语言程序时所获得的记号的信息
 * token	：记号所代表的内容，也就是接口com.kang.c0.c.parser.Tokens中所定义的那些
 * pos		：记号在源程序中的位置，是为了完成辅助任务--使编译器能够将发现的错误信息与源程序的出错位置联系起来--而设计的
 *           pos是由com.kang.c0c.util.Position类产生的位置信息，详细见Position类中的注释
 * value	：针对IDENTIFIER、NUM和STRING三类记号设计的，它分别代表了这三类记号的具体值
 * 			 IDENTIFIER中记录了标识符的名字，NUM中记录数值的具体值、STRING中记录字符串的内容、其它类记号则为NULL空值
 * 
 *Token中并未提供各个字段的setter方法，也就是说Token类一经实例化，其内部的各个字段的属性值不得更改
 *
 * @author kang
 *
 * Feb 5, 2009
 */

public class Token{
	private int token;
	private Object value;
	private int pos;
	
	public Token(){}
	
	public Token(int token,Object value){
		this.token = token;
		this.value = value;
	}
	
	public Token(int token,Object value,int pos){
		this.token = token;
		this.value = value;
		this.pos = pos;
	}
	
	public int getToken() {
		return token;
	}
	
	public Object getValue() {
		return value;
	}
	
	public int getPos() {
		return pos;
	}	
}
